﻿using System.Linq.Expressions;

namespace IDAL
{
    public interface IBase<T> where T : class
    {
        Task<int> AddAsync(T t);

        Task<int> DeleteAsync(int id);

        T GetValue(int id);

        Task<int> UpdateAsync(T t);

        IQueryable<T> Show();

        IQueryable<T> ShowWhere(Expression<Func<T, bool>> predicate);
    }
}
